package com.wing.enterprise.product.model.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 产品明细表
 *
 * @author
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class ProductDetail{

    private static final long serialVersionUID = 1L;

    private Long productDetailId;

    /**
     * 商品缩略图
     */
    private String productPic;

    /**
     * 商品SKU编码
     */
    private String skuCode;

    /**
     * 商品SKU名称
     */
    private String skuName;

    /**
     * 货号(SPU物料ID)
     */
    private Long productId;

    /**
     * 货品编码
     */
     
    private String productCode;

    /**
     * 货品名称
     */
    
    private String productName;

    /**
     * 国标条码
     */
    private String standardBarCode;

    /**
     * 历史品名
     */
    private String historyProductName;

    /**
     * 商品规格
     */
    private String skuSpec;

    /**
     * 成本价
     */
    private BigDecimal costPrice;

    /**
     * 老SKU编码
     */
    private String oldSkuCode;

    /**
     * 老SKU名称
     */
    private String oldSkuName;

    /**
     * 老规格码
     */
    private String oldSpecCode;

    /**
     * 产品分类ID
     */
    private Long productCategoryId;

    /**
     * 产品分类名称
     */
    
    private String productCategoryName;

    /**
     * 产品类别ID
     */
    private Long productTypeId;

    /**
     * 产品类别编码
     */
    
    private String productTypeCode;

    /**
     * 产品类别名称
     */
    
    private String productTypeName;

    /**
     * 物料类别性质
     */
    private String materialNature;

    /**
     * 物料类别性质名称
     */
    
    private String materialNatureName;

    /**
     * 产品性质
     */
    private String productNature;

    /**
     * 产品性质名称
     */
    
    private String productNatureName;

    /**
     * 计价方式
     */
    private String pricingMethod;

    /**
     * 计价方式名称
     */
    
    private String pricingMethodName;

    /**
     * 计价币种
     */
    private String priceCurrency;

    /**
     * 计价币种名称
     */
    
    private String priceCurrencyName;

    /**
     * 基础单位
     */
    private Long baseUnit;

    /**
     * 基础单位名称
     */
    
    private String baseUnitName;

    /**
     * 主计量方式
     */
    private String mainCalWay;

    /**
     * 主计量方式名称
     */
    
    private String mainCalWayName;

    /**
     * 主计量单位
     */
    private Long mainUnitId;

    /**
     * 主计量单位名称
     */
    
    private String mainUnitName;

    /**
     * 主计量单位换算率
     */
    private String mainUnitRate;

    /**
     * 辅计量方式
     */
    private String subCalWay;

    /**
     * 辅计量方式名称
     */
    
    private String subCalWayName;

    /**
     * 辅计量单位
     */
    private Long subUnitId;

    /**
     * 辅计量单位名称
     */
    
    private String subUnitName;

    /**
     * 辅计量单位换算率
     */
    private String subUnitRate;

    /**
     * 品牌ID
     */
    private Long brandId;

    /**
     * 品牌编码
     */
    
    private String brandCode;

    /**
     * 品牌名称
     */
    
    private String brandName;

    /**
     * 库存计量方式
     */
    private String calculateWay;

    /**
     * 库存计量方式
     */
    
    private String calculateWayName;

    /**
     * 长度(mm)
     */
    private String length;

    /**
     * 宽度(mm)
     */
    private String width;

    /**
     * 高度(mm)
     */
    private String height;

    /**
     * 重量(克)
     */
    private String weight;

    /**
     * 是否自产产品
     */
    private String selfProductStatus;

    /**
     * 生产工艺线路ID
     */
    private Long productProcessLineId;

    /**
     * 生产工艺线路编码
     */
    
    private String productProcessLineCode;

    /**
     * 生产工艺线路名称
     */
    
    private String productProcessLineName;

    /**
     * SKU工序编码集
     */
    private String skuProcessCode;

    /**
     * 是否委外
     */
    private String outsourceStatus;

    /**
     * 是否可以销售
     */
    private String sellStatus;

    /**
     * 市场指导价
     */
    private BigDecimal marketPrice;

    /**
     * 税率
     */
    private String taxRate;

    
    private String rate;

    /**
     * 折旧时长(月)
     */
    private Integer depreciationTime;

    /**
     * 采购周期(天)
     */
    private Integer purchaseCycle;

    /**
     * 质保期(天)
     */
    private Integer warrantyDay;

    /**
     * 安全库存数量
     */
    public Integer warningQuantity;

    /**
     * 呆滞时长阈值
     */
    private Integer lethargyThreshold;

    /**
     * 是否一物一码
     */
    private String thingCodeStatus;

    /**
     * 是否批次管理
     */
    private String batchStatus;

    /**
     * 是否先进先出
     */
    private String inoutStatus;

    /**
     * 数据来源
     */
    private String dataSource;

    /**
     * 排序
     */
    private Integer sortNumber;

    /**
     * 产品属性名称
     */
    
    private String assemblyNatureName;

    /**
     * 产品属性
     */
    private String assemblyNature;

    
    private String codeAndName;

    /**
     * 成本核算类型
     */
    private String costCheckType;

    /**
     * 成本核算类型名称
     */
    
    private String costCheckTypeName;

    /**
     * 是否质检
     */
    private String checkStatus;

    /**
     * 是否质检名称
     */
    
    private String checkStatusName;

    /**
     * 是否料箱管理
     */
    private String boxStatus;

    /**
     * 是否料箱管理名称
     */
    
    private String boxStatusName;

    /**
     * 出入库方式
     */
    private String exitStorageType;

    /**
     * 出入库方式名称
     */
    
    private String exitStorageTypeName;

    /**
     * 助记码
     */
    private String mnemonicCode;

    /**
     * 品牌
     */
    private String brand;

    /**
     * 产品库存数量
     */
    
    private BigDecimal productInventoryQuantity;

    /**
     * 订单ID
     */
    
    private Long orderId;

    /**
     * 订单产品ID
     */
    
    private Long orderProId;

    /**
     * 订单产品数量
     */
    
    private Integer orderProNum;
    
    /**
     * 最低单价
     */
    private BigDecimal minPrice;

    /**
     * 建议最低单价
     */
    private BigDecimal suggestionMinPrice;

    /**
     * 最新成本
     */
    private BigDecimal currentCostPrice;

    
    private BigDecimal taxPrice;

    /**
     * 参考成本
     */
    private BigDecimal referenceCostPrice;

    /**
     * 体积
     */
    private String volume;

    /**
     * 库存数
     */
    
    private BigDecimal haveQuantity;



}
